Consolidating Leads into a Lead Group

ABSTRACT

In some example embodiments, a system and method are illustrated to consolidate leads received from multiple user devices used by a single user. The system and method may include identifying a first plurality of leads received from one or more user devices as being submitted by a same user via the one or more user devices. The first plurality of leads may be directed to a listing provided by a lister. The first plurality of leads may be added to a lead group. Then, a second plurality of leads received from one or more users including the same user may be forwarded to the lister. The forwarding may include notifying the lister of a first count of the second plurality of leads. The first count may include the lead group counted as one lead.

CROSS REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent applicationSer. No. 13/354,124, filed on Jan. 19, 2012 and entitled as“CONSOLIDATING LEADS INTO A LEAD GROUP, which is a continuation of U.S.patent application Ser. No. 12/346,751, filed on Dec. 30, 2008 andentitled “CONSOLIDATING LEADS RECEIVED FROM POTENTIAL RENTERS FORBILLING A LISTER,” now issued as U.S. Pat. No. 8,112,329, which isrelated to U.S. patent application Ser. No. 11/158,916, filed on Jun.22, 2005 and entitled “SYSTEM TO CAPTURE COMMUNICATION INFORMATION,” andU.S. patent application Ser. No. 12/346,754, filed on Dec. 30, 2008 andentitled “BILLING A LISTER FOR LEADS RECEIVED FROM POTENTIAL RENTERSWITHIN A LEAD CAP,” all of which are incorporated herein by reference intheir entireties.

TECHNICAL FIELD

Example embodiments relate generally to allowing a lister to list itemlistings corresponding to items for transaction in an online listingsystem.

BRIEF DESCRIPTION OF THE DRAWINGS

Some embodiments are illustrated by way of example and not limitation inthe figures of the accompanying drawings in which:

FIG. 1 is a diagram of a computer system for billing a lister based uponthe number of leads received from potential renters in accordance withan example embodiment.

FIG. 2 is a diagram of functional units of an online listing system inaccordance with an example embodiment.

FIG. 3 is a flow chart illustrating a method used to bill a listeraccording to the number of leads received from potential renters inaccordance with an example embodiment.

FIG. 4 is a diagram illustrating a mask table for use in the system ofFIG. 1 in accordance with an example embodiment.

FIG. 5 is a diagram showing an example computer system that executes aset of instructions to perform any one or more of the methodologiesdiscussed herein.

DETAILED DESCRIPTION

The emergence of an online listing system (e.g., such as eBAY, Amazon,and Rent.com in which goods/services are offered to interested parties)has created new opportunities for a service provider to monetizetransactions made between a user (e.g., a renter, a buyer, a prospectivebuyer, a mortgagor, etc.) and a lister (e.g., a landlord, a seller, arental manager, a mortgagee, etc.) connected through the online listingsystem. It is important for the service provider to first identify whena transaction has been made between the user and the lister.

Numerous techniques exist for the service provider (e.g., an operator ofthe online listing system) to identify distinct users to allow paymentof fees for each distinct users. In such a case, the service providermay also identify communications between a distinctive user and thelister when the user and the lister communicate via the Internet (e.g.,through email, instant messenger, etc.). For example, the serviceprovider can find the transaction by monitoring and/or reading emailsbetween the user and the lister when they communicate with each otherthrough emails sent to each other through the online listing system. Inparticular, the U.S. patent application Ser. No. 11/158,916 discloses anapparatus and method to mask users' (e.g., potential renters andlisters) identities to each other and track communications (e.g., leads)between them using proxy contact information (e.g., proxy telephonenumber or a proxy e-mail address, etc.).

Once the transaction is found, the service provider can charge the userand/or the lister a transaction fee (e.g., such as a fee when aparticular property has been rented through a website such as Rent.com).The existing software, prior to our invention, did not allow us todistinguish sufficiently to assure that lister is charged only for afirst contact by a potential renter with respect to a rental listing.

In some example embodiments, a system and method are illustrated toconsolidate leads received from multiple user devices used by a singleuser. The system and method may include identifying a first plurality ofleads received from one or more user devices as being submitted by asame user via the one or more user devices. The first plurality of leadsmay be directed to a listing provided by a lister. The first pluralityof leads may be added to a lead group. Then, a second plurality of leadsreceived from one or more users including the same user may be forwardedto the lister. The forwarding may include notifying the lister of afirst count of the second plurality of leads. The first count mayinclude the lead group counted as one lead. More detailed explanationabout the consolidating of the leads into the lead group is given belowusing FIGS. 1-5.

FIG. 1 is a diagram of a computer system for billing a lister based uponthe number of leads received from potential renters 100 in accordancewith an example embodiment. In particular, FIG. 1 shows a system view ofan online listing system 109 associated with a mask table 114 andconnected to a user (e.g., potential renter) 101 and a lister 104through a network (e.g., Internet 102) according to an embodiment. Theuser 101 communicates with the lister 104 through the Internet 102(e.g., by accessing and searching on an online listing system such asRent.com), in an example use scenario. In addition, the user 101 maydirectly communicate with the lister 104 offline through a telephoneconversation (e.g., through a mask removal module 106). The mask removalmodule 106 may reside anywhere in the telephone network (e.g., a circuitswitched and/or IP network), and serve as a gateway for offlinecommunications between the user 101 and the lister 104. For example, themask removal module 106 may reverse the encoding of a phone number thatis ‘masked’ or encoded by a mask module 110 of the online listing system109. More detailed description about the mask removal module 106 isdescribed in the patent application publication US 2007/0003038 A1(e.g., FIG. 5).

A transaction center server 112 (e.g., a transaction center serverassociated with the online listing system 109) may communicate with abilling module 108 and a mask module 110 connected to the transactioncenter server 112. The transaction center server 112 may also beconnected to a display device 118, an input device 122, and a mouse 120,according to an embodiment illustrated in FIG. 1. The transaction centerserver 112 (e.g., a computer system) includes a network interface 124, adisk controller 126, a disk drive 136, a display controller 128, an I/Ocontroller 130, a processor 132 (e.g., a microprocessor), and a storage134 (e.g., a hard drive, a dynamic random access memory, and/or a flashmemory, etc.) connected to each other through a bus 138 according to anembodiment illustrated in FIG. 1. The I/O controller 130 connects thetransaction center server 112 to the input device 122 and the mouse 120according to the embodiment of FIG. 1. More detailed explanation about ageneral architecture for a computer system is given below using FIG. 5.

The mask module 110 of the online listing system 109 may generate uniquetelephone extensions to identify different users (e.g., such as the user101) of the online listing system using an extension generator module140. A particular extension generated by the extension generator module140 may be visible in each listing visited by the user 101 in the onlinelisting system (e.g., each property visited by the user 101 in an onlinelisting system for property rentals). Similarly, the mask module 110 maydetermine a proxy telephone number (e.g., a substitute phone number tomask an actual telephone number) for each listing posted in the onlinelisting system 109 (e.g., every property posted by a rental manager onthe online listing system).

When the user 101 calls in connection with a particular listing, themask module 110 may determine an identity of the user 101 dialing theproxy telephone number (e.g., by consulting a mask table 114) based onan extension number entered by the user 101 (e.g., an extension numberpreviously generated by an extension generator module 140 connected tothe mask module 110). Based on this identity determination, the maskmodule 110 may update data in the storage 134 associated with thebilling module 108 (e.g., to track a particular call and later bill thelister 104 and/or the user 101).

The mask module 110 may consult a mask table 114 of the mask database116 (e.g., the mask database 116 may be stored in the storage 134 and/orexternal to the transaction center server 112 in various embodiments).In addition, the mask module 110 may communicate with the mask removalmodule 106 and permit the mask removal module 106 to convert the proxytelephone number to an actual telephone number of the lister 104 androute a call from the user 101 to the lister 104. The mask removalmodule 106 may then route the proxy telephone number to the lister 104from the user 101 after the conversion is made according to anembodiment.

A detailed view of the mask table 114 is illustrated in FIG. 4 The masktable 114 as illustrated in FIG. 4 includes a user-side data 400 (e.g.,the user illustrated having a unique extension 1511) and a lister-sidedata 402 (e.g., the lister illustrated as having a unique phone number800-555-2100). The user-side data 400 includes actual user data 404(e.g., actual phone numbers, email, and other information about a usersuch as the user 101 as shown in FIG. 1), and masked user data 406(e.g., masked/proxy phone numbers, email, and other information about auser such as the user 101 as shown in FIG. 1). The masked user data 406may be generated by the mask module 110 according to one embodiment.

Similarly, in FIG. 4, the lister-side data 402 includes actual listerdata 408 (e.g., actual phone numbers, email, and other information abouta lister such as the lister 104), and a masked lister data 410 (e.g.,masked/proxy phone numbers, email, and other information about a listersuch as the lister 104 as shown in FIG. 1). The masked lister data 410may also be generated by the mask module 110 according to oneembodiment. Referring now to FIG. 1, the mask table 114 may be used bythe mask module 110 to convert actual contact information associatedwith the user 101 to masked information and/or vice-versa. In addition,mask table 114 may be used by the mask removal module 106 to convert aproxy telephone number associated with the lister 104 to an actualtelephone number of the lister 104 and vice-versa.

For example, the mask removal module 106 (e.g., may be in a circuitswitched telephone network and/or in an IP network such as the Internet102) may reference the mask table 114 of FIG. 4 to convert the proxytelephone number (e.g., as previously generated by the mask module 110)of the lister 104 to an actual telephone number of the lister 104 basedon a phone number entered. In addition, the mask removal module 106 mayreference the mask table 114 to identify a particular user based on acode (e.g., an extension) entered by the lister 104 wishing to contactthe user 101 via telephone according to an embodiment.

Referring back to FIG. 1, the online listing system 109 may identify alister response (e.g., a rental manager following up on a lead receivedthrough the online listing system) to the user 101 (e.g., a user of theonline listing system such as a potential renter of an apartment) basedon a code (e.g., the code may be an extension entered after dialing amasked user telephone number such as a proxy telephone number) enteredby the lister 104 after dialing a proxy telephone number (e.g., a‘masked’ telephone number generated by the mask module 110 andsubstituting for the actual telephone number of the user 101), accordingto an embodiment. In addition, the billing module 108 of FIG. 1 maycapture response history information when routing the proxy telephonenumber to the user 101.

In some example embodiments, a timer module 113 (e.g., code executed bythe processor 132 of the transaction center server 112) may determinehow long the lister 104 of the online listing system took to respond toan inquiry from the user 101. The online listing system 109 may alsorecord one or more telephone calls between the user 101 and the lister104 based on a contract (e.g., a binding agreement) between the user 101and the lister 104 with a proprietor of the online listing system (e.g.,the online listing system 109). The lister may be a rent manager, alandlord, a mortgage broker, or a merchant, according to variousembodiments. In addition, the transaction center server 112 may provideto the billing module 108 a periodic log of telephone numbers dialedbetween users of the online listing system such as the user 101 and,other users of the online listing system 109 and the lister 104.

In some example embodiments, a proxy telephone number generated by themask module 110 is unique to a particular listing (e.g., a particularitem or service offered for sale and/or lease) requested by the user101, and the extension number (e.g., a telephone extension number) isunique to the user 101. The transaction center server 112 may send tothe user 101 additional information about the particular listing basedon the duration (e.g., amount of time) of the routed call. Every listingin the online listing system 109 may be associated with an item detailpage (e.g., detailed information about a property for lease and/or sale)in the online listing system 109. The user 101 may contact the lister104 through the proxy telephone number and/or a website lead form on theitem detail page.

The billing module 108 may validate a transaction (e.g., a successfullease and/or sale) between the user 101 and the lister 104 based on thecall history information and/or the website lead form. The billingmodule 108 may validate the transaction by automatically scanning (e.g.,through an optical character recognition method) the call historyinformation and/or the web site lead form to determine whether a bindingcontract was formed between the parties (e.g., offer, acceptance,consideration). In some example embodiments, the billing module 108 maydetermine that there is more likely than not a binding contract formedbetween the parties, and on that basis an automatic signal istransmitted from the billing module 108 to an administrator of theonline listing system 109 to follow up with the parties via telephone.

The billing module 108 may also generate a justification to a bill(e.g., a transaction based charge) to at least one of the user and thelister based on any one or more of the call history information and/orthe website lead form. In addition, the transaction center server 112may convert an actual email address of the user 101 entered in thewebsite lead form to a proxy email address, and transmit the proxy emailaddress to the lister 104. Furthermore, the mask module 110 of thetransaction center server 112 may receive a call of the user 101 frommultiple geographic sites (e.g., from the user's office and/or homelocation) prior to determining the identity of the user 101 dialing theproxy telephone number based on the extension number entered by the user101. In addition, the transaction center server 112 may generate theextension based on a logic algorithm having a checksum; and bill thelister (e.g., through the billing module 108) according to the number ofleads (e.g., phone calls or emails) received from one or more potentialrenters. More detailed explanation about the online listing system 109is given below using FIG. 2-3.

FIG. 2 is a diagram of functional units of the online listing system 200in accordance with an example embodiment. Illustrated in FIG. 2 is theonline listing system 109. The online listing system 109 comprises thebilling module 108, the transaction center server 112, the mask module110 and the mask removal module 106. In some example embodiments, themask removal module 106 may exist outside the online listing system 109(e.g., in a circuit switched telephone network and/or in an IP networksuch as the Internet 102). These modules are operatively coupled to oneanother. The billing module 108 may run a billing engine 230. Thetransaction center server 112 may run a plurality of functional enginessuch as a setting engine 210, a receiving engine 220, a notifying engine240, a capturing engine 250 and a consolidating engine 270, etc.Although the billing module 108 is shown as a separate module from thetransaction center server 112, the two modules may be implemented as asingle module in some example embodiments.

If one or more listers 104 list their property listings on the onlinelisting system 109, the setting engine 210 may set a specified listingperiod for a respective lister. In some example embodiments, the listingperiod may be specified for each listing for the respective lister. Thespecified listing period may indicate how long the lister wants hisproperty listings to be listed in the online listing system 109 under acurrent billing mechanism that is explained more in detail below. Inother words, when the specified listing period ends, a different billingmechanism may be applied to the listings associated with the lister. Anexample of the different billing mechanism is described in the U.S.patent application Ser. No. 12/346,754. In some example embodiments, thesetting engine 210 may further consider the number of listings (e.g.,the number of units listed in the online listing system 109) to choose abilling mechanism to be used to the listings for the respective lister.In some example embodiments, if the listing period ends, the onlinelisting system 109 may simply inactivate the listings associated withthe lister.

The setting engine 210 may determine the specified listing period basedupon designation (e.g., instruction) sent) from the lister. For example,the lister may designate three months as maximum period for the currentbilling mechanism to be applied. In some example embodiments, thesetting engine 210 may display a plurality of predefined time periods(e.g., a week, a month and a year, etc.) and then receive a selectionthereof from the lister via a user interface (not shown in FIG. 2). Insome example embodiments, the setting engine 210 may additionally referto previous transaction history for the lister to determine whether heis eligible for a reduced fee per lead or a bonus listing period at noextra charge. The online listing system 109 may be operatively coupledto a transaction database 260 to store the transaction history betweenthe potential renters and the listers. In some example embodiments, thetransaction database 260 may be the mask database 116. In some exampleembodiments, the transaction database 260 may be coupled to the onlinelisting system 109 remotely, for example, via the Internet 102. Othersuitable network, such as a local area network (LAN) or a wide areanetwork (WAN) (not shown in FIG. 2), may be used to couple thetransaction database 260 to the online listing system 109.

In some example embodiments, the setting engine 210 may change thespecified listing period for the lister upon receipt of a request fromthe lister. For example, if the lister's budget for listing hisproperties is reduced for some reasons, then he may want to change thelisting period accordingly and vice versa. Also, if the listed propertyis not available for rent any more (e.g., rented throughout otheradvertising sources or the property owner or manager's decision not torent, etc.), then the lister may need to stop listing the property inthe online listing system 109. In such cases, the setting engine 210 mayreceive the lister's request, for example, via the Internet 102 or atelephone network, and change the listing period according to thelister's request. In some example embodiments, the setting engine 210may receive a valid identifier from the lister to verify hisidentification. The valid identifier may include the lister's financialinformation, such as credit card or bank account information.

Once one or more properties are listed, one or more potential rentersmay access the online listing system 109 via the Internet 102 and searchthe listings. If a property listing matching their search preferences isfound, the potential renters may try to contact corresponding listersusing, for example, proxy contact information generated by the maskmodule 110 as described above in FIG. 1. In some example embodiments,the potential renters may send the corresponding listers leads in a formof a telephone call or email based upon the proxy contact information.The receiving engine 220 may check whether the listing period for therespective lister has not expired. If the listing period has notexpired, then the receiving engine 220 may receive a number of leadssent by the potential renters and directed to a property listingassociated with the corresponding listers. In some embodiments, thelisting period may be checked by the billing engine 230 before countingleads received from the potential renters. The billing engine 230 willbe explained in more detail below.

The receiving engine 220 may also notify the lister of a receipt of theleads. In notifying the lister, the receiving engine 220 may indicateremaining listing period to the lister. Also, if the remaining listingperiod reaches one of specified threshold time point, the receivingengine 220 may send a message requesting an extension of the listingperiod to the lister. The receiving engine 220 may further represent themessage in a different representation (e.g., different coloring or usingdifferent text size, etc.) according to a corresponding predefinedthreshold time point. For example, when the listing period for thelister is 90 days, if 85 days have passed so far, then the extensionrequest message may be represented in a red color and/or large font size(e.g., size 14) while represented in a yellow color and/or normal fontsize (e.g., size 10) if 80 days have passed. In some exampleembodiments, the online listing transaction system 109 may run anotifying engine 240 separate from the receiving engine 220 for suchnotification purposes.

When potential renters send leads (e.g., contacts in a form of a phonecall or email) to listers and the listers respond to the leads,corresponding transaction history may be captured by the transactioncenter server 112 using, for example, the mask module 110 and the maskremoval module 106. More detailed explanation about capturingcommunication information between the potential renters and the listersare described in U.S. patent application Ser. No. 11/158,916. In someexample embodiments, the transaction center server 112 may have aseparate capturing engine 250 operatively coupled with the receivingengine 220 and the notifying engine 240, to capture and manage thecommunication information between the potential renters and the listers.

If the transaction history (e.g., sending and receiving leads) betweenthe potential renters and the listers are captured by the transactioncenter server 112 (e.g., by the capturing engine 250), the consolidatingengine 270 may consolidate two or more of the leads received from thesame potential renter into a lead group. The consolidating engine 270may further associate a lead group identifier with the lead group andthen present the lead group identifier to the lister. In some exampleembodiments, once consolidated, the consolidated group information mayalso be managed by the capturing engine 250 along with non-consolidatedtransaction history between the potential renters and the listers. Insuch a case, the billing module 108 may access the capturing engine 250and/or the consolidating engine 270 to get the transaction informationas necessary to bill the listers later (e.g., the total number of leadssent to each lister and the number of leads for the lister afterconsolidating, etc.).

When transactions between the potential renters and the listers (e.g.,sending and responding to leads, etc.) are done, the billing engine 230may bill each lister according to the number of leads received from thepotential renters. In some example embodiments, the billing engine 230may bill the respective lister for each listing associated with him. Inbilling the lister, the billing engine 230 may count the lead group as asingle lead. In some example embodiments, the billing engine 230 mayconduct the billing process on a basis of a specified periodic time. Forexample, the listers may be billed every day, week, month or year, etc.Also, the billing engine 230 may change the specified periodic time(e.g., week) to another specified periodic time (e.g., month) and viceversa as necessary (e.g., upon receipt of a corresponding request by thelister). In some example embodiments, the online listing system 109 mayfurther set a specified listing period for a given property listing. Insuch a case, the billing engine 230 may check whether the listing periodhas expired before counting leads received from the potential renters.

When billing a lister, the billing engine 230 may also inactivateproperty listings associated with the lister. In some exampleembodiments, the billing engine may inactivate the property listingsassociated with the lister upon receipt of an inactivation request fromthe lister. For example, the lister may want to stop listing hisproperties on the online listing system 109 for some reasons. In such acase, the lister may send such a request to the online listing system109 by simply pressing an “Inactivation” menu via the user interface(not shown in FIG. 2). In some example embodiments, the billing engine230 may inactivate the property listings associated with the lister ifthe specified listing period has passed. In some example embodiments, ifone or more property listings are inactivated, the billing engine 230may further reactivate the inactivated property listings upon receipt ofa corresponding indication from the lister. In such a case, the billingengine 230 may require the lister to deposit a predefined budget beforeallowing the reactivation request.

In some example embodiments, a lead cap may be further set for therespective lister by the transaction center server 112 (e.g., by thereceiving engine 220). In such a case, the billing engine 230 mayinactivate the property listing associated with the lister if the numberof leads received from the potential renters reaches the lead cap. Moredetailed explanation about using the lead cap is described in the U.S.patent application Ser. No. 12/346,754. In some example embodiments, thebilling engine 230 may charge the lister only for the first leadreceived from each potential renter.

In some example embodiments, the transaction center server 112 may notspecify the listing period or the lead cap for the respective lister atall. The transaction center server 112 may then comprise the receivingengine 220, the capturing engine 250 and the billing engine 230. Thereceiving engine 220 may not check whether the listing period (and/orthe lead cap) has been reached before receiving the lead sent from thepotential renters and directed to the respective listers. In such acase, the online listing system 109 may list the listings and bill therespective listser under a given billing mechanism until it receives,for example, an inactivation request from the lister. It is noted thateach of the engines described above in FIG. 2 may be implemented byhardware (e.g., circuit), firmware, software or any combinationsthereof. It is also noted that although each of the engines is describedabove as a separate module, the entire engines or some of the engines inFIG. 2 may be implemented as a single entity (e.g., module or circuit)and still maintain the same functionality.

FIG. 3 is a flow chart illustrating a method used to bill a listeraccording to the number of leads received from potential renters 300 inaccordance with an example embodiment. At operation 310, a listingperiod may be set for a respective lister. In some example embodiments,the listing period may be specified for each listing for the respectivelister. In some example embodiments, the listing period may be basedupon designation (e.g., instruction) of an initial maximum period oflisting received from the lister. In some example embodiments, thelisting period may be changed upon receipt of a request from the lister.In some example embodiments, in setting the listing period for therespective lister, a valid user identifier may be received from thelister. The valid user identifier may include financial information(e.g., credit card information or bank account information, etc.) of thelister. In some example embodiments, in setting the listing period, thelister's previous transaction history may be used to determine whetherthe lister is eligible for a reduced fee per lead or free bonus periodfor listing.

At operation 320, a number of leads may be received from one or morepotential renters if the listing period has not expired. Each lead maybe directed to a property listing associated with the lister. In someexample embodiments, the receipt of the leads from the potential rentersmay be notified to the lister whose property listings the leads aredirected to. In some example embodiments, the number of remaininglisting period may be indicated to the lister in a notification to thelister. In some example embodiments, a message requesting an extensionof the listing period may be sent to the lister along with theindication if the remaining listing period passes one of specifiedthreshold time points (e.g., 80 or 90 days out of 100-day listingperiod). In some example embodiments, the message requesting anextension of the listing period may be represented in a differentrepresentation (e.g., different coloring or font size) according to acorresponding predefined threshold time point. For example, when thelisting period for the lister is 100 days, if 90 days have passed sofar, then the extension request message may be represented in a redcolor and/or large font size (e.g., size 14) while represented in ayellow color and/or normal font size (e.g., size 10) if 80 days havepassed.

At operation 330, two or more of the leads received from the samepotential renter may be consolidated into a lead group. The lead groupmay be further associated with a lead group identifier and thenpresented to the lister, for example, via the user interface of thelister. In some example embodiments, once consolidated, the consolidatedgroup information may also be managed (e.g., by the capturing engine 250and/or the consolidating engine 270) along with non-consolidatedtransaction history between the potential renters and the listers. Insuch a case, the transaction information may be accessed (e.g., by thebilling module 108 at the capturing engine 250 and/or the consolidatingengine 270) and used as necessary to bill the listers later. Forexample, the total number of leads sent to each lister and/or the numberof lead groups may be referred to.

At operation 340, the respective lister may be billed according to thenumber of leads received from the potential renters. In billing thelister, the consolidated lead group may be counted as a single lead. Insome example embodiments, the billing may be done for each listing ofthe respective lister. In some example embodiments, the billing occurson a basis of a specified periodic time (e.g., every week, month oryear, etc.). The specified periodic time may be changed from one (e.g.,week) to another (e.g., month), for example, upon receipt of acorresponding request from the lister. In some example embodiments, inbilling the lister, the property listing associated with the lister maybe inactivated upon receipt of an inactivation request from the lister.In some example embodiments, the property listing associated with thelister may be inactivated if the listing period has passed. In someexample embodiments, if one or more property listings for the lister areinactivated, the inactivated property listing may be reactivated, forexample, upon receipt of an indication from the lister that an extendedlisting period is designated. In such a case, the lister may berequested to deposit a predefined budget before allowed to reactivatethe inactivated listings.

In some embodiments, the listing period and/or the lead cap for therespective lister may not be specified. Then, it may not be checkedwhether the listing period (and/or the lead cap) has passed before theleads sent from the potential renters and directed to the respectivelisters are received. In such a case, the listings may be listed until,for example, an inactivation request is received from the lister. Thelister may then be billed under a given billing mechanism until theinactivation of the listing.

In some example embodiments, a lead cap may be further set for therespective lister by the transaction center server 112 (e.g., by thereceiving engine 220). In such a case, the property listing associatedwith the lister may be inactivated if the number of leads received fromthe potential renters reaches the lead cap. More detailed explanationabout using the lead cap is described in the U.S. patent applicationSer. No. 12/346,754.

Example Database

Some example embodiments may include the various databases (e.g., themask database 116 and the transaction database 260) being relationaldatabases or in some example cases On Line Analytic Processing(OLAP)-based databases. In the case of relational databases, varioustables (e.g., mask table 114) of data are created and data is insertedinto, and/or selected from, these tables using SQL or some otherdatabase-query language known in the art. In the case of OLAP databases,one or more multi-dimensional cubes or hypercubes containingmultidimensional data from which data is selected or into which data isinserted using Multidimensional Expressions (MDX) may be implemented. Inthe case of a database using tables and SQL, a database application suchas, for example, MYSQL™, SQLSERVER™, Oracle 8I™, 10G™, or some othersuitable database application may be used to manage the data. Here, thecase of a database using cubes and MDX, a database usingMultidimensional On Line Analytic Processing (MOLAP), Relational On LineAnalytic Processing (ROLAP), Hybrid On Line Analytic Processing (HOLAP),or some other suitable database application may be used to manage thedata. These tables or cubes made up of tables, in the case of, forexample, ROLAP, are organized into a RDS or Object Relational DataSchema (ORDS), as is known in the art. These schemas may be normalizedusing certain normalization algorithms so as to avoid abnormalities suchas non-additive joins and other problems. Additionally, thesenormalization algorithms may include Boyce-Codd Normal Form or someother normalization, optimization algorithm known in the art.

A Three-Tier Architecture

In some example embodiments, a method is illustrated as implemented in adistributed or non-distributed software application designed under athree-tier architecture paradigm, whereby the various components ofcomputer code that implement this method may be categorized as belongingto one or more of these three tiers. Some example embodiments mayinclude a first tier as an interface (e.g., an interface tier) that isrelatively free from application processing. Further, a second tier maybe a logic tier that performs application processing in the form oflogical/mathematical manipulations of data inputted through theinterface level, and that communicates the results of theselogical/mathematical manipulations to the interface tier and/or to abackend or storage tier. These logical/mathematical manipulations mayrelate to certain business rules or processes that govern the softwareapplication as a whole. A third storage tier may be a persistent storagemedium or non-persistent storage medium. In some example cases, one ormore of these tiers may be collapsed into another, resulting in atwo-tier architecture, or even a one-tier architecture. For example, theinterface and logic tiers may be consolidated, or the logic and storagetiers may be consolidated, as in the case of a software application withan embedded database. This three-tier architecture may be implementedusing one technology, or, as may be discussed below, a variety oftechnologies. This three-tier architecture, and the technologies throughwhich it is implemented, may be executed on two or more computer systemsorganized in a server-client, peer-to-peer, or some other suitableconfiguration. Further, these three tiers may be distributed betweenmore than one computer system as various software components.

Component Design

Some example embodiments may include the above illustrated tiers and theprocesses or operations that make them up, as one or more softwarecomponents. Common to many of these components is the ability togenerate, use, and manipulate data. These components, and thefunctionality associated with each, may be used by client, server, orpeer computer systems. These various components may be implemented by acomputer system on an as-needed basis. These components may be writtenin an object-oriented computer language such that a component-orientedor object-oriented programming technique can be implemented using aVisual Component Library (VCL), Component Library for Cross Platform(CLX), JavaBeans (JB), Enterprise JavaBeans (EJB), Component ObjectModel (COM), Distributed Component Object Model (DCOM), or othersuitable technique. These components may be linked to other componentsvia various Application Programming interfaces (APIs), and then compiledinto one complete server, client, and/or peer software application.Further, these APIs may be able to communicate through variousdistributed programming protocols as distributed computing components.

Distributed Computing Components and Protocols

Some example embodiments may include remote procedure calls used toimplement one or more of the above-illustrated components across adistributed programming environment as distributed computing components.For example, an interface component (e.g., an interface tier) may resideon a first computer system remotely located from a second computersystem containing a logic component (e.g., a logic tier). These firstand second computer systems may be configured in a server-client,peer-to-peer, or some other suitable configuration. These variouscomponents may be written using the above-illustrated object-orientedprogramming techniques, and can be written in the same programminglanguage or a different programming language. Various protocols may beimplemented to enable these various components to communicate regardlessof the programming language used to write these components. For example,a component written in C++ may be able to communicate with anothercomponent written in the Java programming language using a distributedcomputing protocol such as a Common Object Request Broker Architecture(CORBA), a Simple Object Access Protocol (SOAP), or some other suitableprotocol. Some example embodiments may include the use of one or more ofthese protocols with the various protocols outlined in the Open SystemsInterconnection (OSI) model, or Transmission Control Protocol/InternetProtocol (TCP/IP) protocol stack model for defining the protocols usedby a network to transmit data.

A System of Transmission Between a Server and Client

Some example embodiments may use the OSI model or TCP/IP protocol stackmodel for defining the protocols used by a network to transmit data. Inapplying these models, a system of data transmission between a serverand client or between peer computer systems is illustrated as a seriesof roughly five layers comprising: an application layer, a transportlayer, a network layer, a data link layer, and a physical layer. In thecase of software having a three-tier architecture, the various tiers(e.g., the interface, logic, and storage tiers) reside on theapplication layer of the TCP/IP protocol stack. In an exampleimplementation using the TCP/IP protocol stack model, data from anapplication residing at the application layer is loaded into the dataload field of a TCP segment residing at the transport layer. This TCPsegment also contains port information for a recipient softwareapplication residing remotely. This TCP segment is loaded into the dataload field of an IP datagram residing at the network layer. Next, thisIP datagram is loaded into a frame residing at the data link layer. Thisframe is then encoded at the physical layer, and the data transmittedover a network such as the Internet, a Local Area Network (LAN), a WideArea Network (WAN), or some other suitable network. In some examplecases, “Internet” refers to a network of networks. These networks mayuse a variety of protocols for the exchange of data, including theaforementioned TCP/IP, and additionally Asynchronous Transfer Mode(ATM), Systems Network Architecture (SNA), or some other suitableprotocol. These networks may be organized within a variety of topologies(e.g., a star topology) or structures.

A Computer System

FIG. 5 is a diagram showing an example computer system 700 that executesa set of instructions to perform any one or more of the methodologiesdiscussed herein. In some example embodiments, the machine operates as astandalone device or may be connected (e.g., networked) to othermachines. In a networked deployment, the machine may operate in thecapacity of a server or a client machine in server-client networkenvironment or as a peer machine in a peer-to-peer (or distributed)network environment. The machine may be a PC, a tablet PC, a Set-Top Box(STB), a PDA, a cellular telephone, a Web appliance, a network router,switch or bridge, or any machine capable of executing a set ofinstructions (sequential or otherwise) that specify actions to be takenby that machine. Further, while only a single machine is illustrated,the term “machine” shall also be taken to include any collection ofmachines that individually or jointly execute a set (or multiple sets)of instructions to perform any one or more of the methodologiesdiscussed herein. Example embodiments can also be practiced indistributed system environments where local and remote computer systems,which are linked (e.g., either by hardwired, wireless, or a combinationof hardwired and wireless connections) through a network, both performtasks such as those illustrated in the above description.

The computer system 500 includes a processor 502 (e.g., a CentralProcessing Unit (CPU), a Graphics Processing Unit (GPU) or both), a mainmemory 501, and a static memory 506, which communicate with each othervia a bus 508. The computer system 500 may further include a videodisplay 510 (e.g., a Liquid Crystal Display (LCD) or a Cathode Ray Tube(CRT)). The computer system 500 also includes an alpha-numeric inputdevice 517 (e.g., a keyboard), a User Interface (UI) cursor controllerdevice 511 (e.g., a mouse), a drive unit 516, a signal generation device519 (e.g., a speaker) and a network interface device (e.g., atransmitter) 520.

The drive unit 516 includes a machine-readable medium 522 on which isstored one or more sets of instructions and data structures (e.g.,software) embodying or used by any one or more of the methodologies orfunctions illustrated herein. The software may also reside, completelyor at least partially, within the main memory 501 and/or within theprocessor 502 during execution thereof by the computer system 500, themain memory 501 and the processor 502 also constituting machine-readablemedium 522.

The instructions 521 may further be transmitted or received over anetwork 526 via the network interface device 520 using any one of anumber of well-known transfer protocols (e.g., HTTP, Session InitiationProtocol (SIP)).

The term “machine-readable medium” should be taken to include a singlemedium or multiple media (e.g., a centralized or distributed database,and/or associated caches and servers) that store the one or more sets ofinstructions. The term “machine-readable medium” shall also be taken toinclude any medium, such as a storage device(s), capable of storing,encoding, or carrying a set of instructions for execution by the machineand that cause the machine to perform any of the one or more of themethodologies illustrated herein. The term “machine-readable medium”shall accordingly be taken to include, but not be limited to,solid-state memories, optical and magnetic medium, and carrier wavesignals.

Marketplace Applications

In some example embodiments, a system and method are illustrated toconsolidate leads received from multiple user devices used by a singleuser. The system and method may include identifying a first plurality ofleads received from one or more user devices as being submitted by asame user via the one or more user devices. The first plurality of leadsmay be directed to a listing provided by a lister. The first pluralityof leads may be added to a lead group. Then, a second plurality of leadsreceived from one or more users including the same user may be forwardedto the lister. The forwarding may include notifying the lister of afirst count of the second plurality of leads. The first count mayinclude the lead group counted as one lead.

Additional Notes

Method examples described herein can be machine or computer-implementedat least in part. Some examples can include a computer-readable mediumor machine-readable medium encoded with instructions operable toconfigure an electronic device to perform methods as described in theabove examples. An implementation of such methods can include code, suchas microcode, assembly language code, a higher-level language code, orthe like. Such code can include computer-readable instructions forperforming various methods. The code may form portions of computerprogram products. Further, the code may be tangibly stored on one ormore volatile or non-volatile computer-readable media such as duringexecution or at other times. These computer-readable media may include,but are not limited to, hard disks, removable magnetic disks, removableoptical disks (e.g., compact disks and digital video disks), magneticcassettes, memory cards or sticks, random access memories (RAMs), readonly memories (ROMs), and the like.

The above “DETAILED DESCRIPTION” includes references to the accompanyingdrawings, which form a part of the “DETAILED DESCRIPTION.” The drawingsshow, by way of illustration, specific embodiments of the invention canbe practiced. These embodiments are also referred to herein as“examples.” Such examples can include elements in addition to thoseshown and described. However, the present inventors also contemplateexamples in which only those elements shown and described are provided.

All publications, patents, and patent documents referred to in thisdocument are incorporated by reference herein in their entirety, asthough individually incorporated by reference. In the event ofinconsistent usages between this document and those documents soincorporated by reference, the usage in the incorporated reference(s)should be considered supplementary to that of this document; forirreconcilable inconsistencies, the usage in this document controls.

In this document, the terms “a” or “an” are used, as is common in patentdocuments, to include one or more than one, independent of any otherinstances or usages of “at least one” or “one or more.” In thisdocument, the term “or” is used to refer to a nonexclusive or, such that“A or B” includes “A but not B,” “B but not A,” and “A and B,” unlessotherwise indicated. In the appended claims, the terms “including” and“in which” are used as the plain-English equivalents of the respectiveterms “comprising” and “wherein.” Also, in the following claims, theterms “including” and “comprising” are open-ended, that is, a system,device, article, or process that includes elements in addition to thoselisted after such a term in a claim are still deemed to fall within thescope of that claim. Moreover, in the following claims, the terms“first,” “second,” and “third,” etc. are used merely as labels, and arenot intended to impose numerical requirements on their objects.

The above description is intended to be illustrative, and notrestrictive. For example, the above-described examples (or one or moreaspects thereof) may be used in combination with each other. Otherembodiments can be used, such as by one of ordinary skill in the artupon reviewing the above description. The Abstract is provided to complywith 37 C.F.R. §1.72(b), to allow the reader to quickly ascertain thenature of the technical disclosure. It is submitted with theunderstanding that it will not be used to interpret or limit the scopeor meaning of the claims. Also, in the above Description of ExampleEmbodiments, various features may be grouped together to streamline thedisclosure. This should not be interpreted as intending that anunclaimed disclosed feature is essential to any claim. Rather, inventivesubject matter may lie in less than all features of a particulardisclosed embodiment. Thus, the following claims are hereby incorporatedinto the Description of Example Embodiments, with each claim standing onits own as a separate embodiment.

1. A method comprising: identifying a first plurality of leads receivedfrom one or more user devices as being submitted by a same user via theone or more user devices, the first plurality of leads being directed toa listing provided by a lister; adding, using one or more processors,the first plurality of leads to a lead group; and forwarding a secondplurality of leads received from one or more users including the sameuser to the lister, the forwarding including notifying the lister of afirst count of the second plurality of leads, the first count includingthe lead group counted as one lead.